测试工作流概述
测试是保障项目质量的最后一道防线。一个完善的测试工作流应该贯穿开发全过程,从单元测试到端到端测试,层层把关。
测试类型
单元测试(Unit Test)
测试单个函数、组件或模块的功能正确性。
| 框架 | 适用场景 | 特点 |
|---|---|---|
| Vitest | Vue/React项目 | 与Vite集成,速度极快 |
| Jest | 通用项目 | 生态最成熟 |
| React Testing Library | React组件 | 测试用户行为而非实现 |
集成测试(Integration Test)
测试多个模块协作时的行为。验证组件间的数据流转、API调用、路由跳转等。
端到端测试(E2E Test)
模拟用户操作流程,从打开页面到完成操作的全过程测试。
| 框架 | 特点 |
|---|---|
| Cypress | 开发体验好,可视化调试 |
| Playwright | 跨浏览器支持,功能强大 |
| Nightwatch | 基于Selenium |
测试工作流
编写测试用例 → 运行测试 → 查看报告 → 修复失败用例 → 重新测试
↑ |
└──────────────────────────────────────────┘
text
在CI/CD中集成测试
# GitHub Actions示例
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: pnpm install
- run: pnpm test:unit # 单元测试
- run: pnpm test:e2e # E2E测试
- run: pnpm build # 构建验证
yaml
测试文档
测试计划
| 内容 | 说明 |
|---|---|
| 测试范围 | 哪些功能需要测试 |
| 测试策略 | 单元/集成/E2E测试的比例分配 |
| 测试环境 | 测试运行的硬件和软件环境 |
| 验收标准 | 什么样的测试结果算通过 |
测试报告
测试报告通常包含:
- 测试用例总数和通过率
- 覆盖率报告(语句覆盖、分支覆盖、函数覆盖)
- 失败用例的详细信息和截图
- 性能测试结果
Bug报告模板
**Bug标题**:首页轮播图在移动端不显示
**优先级**:P1
**复现步骤**:
1. 在移动端打开首页
2. 等待页面加载完成
3. 观察轮播图区域
**期望行为**:轮播图正常显示并自动播放
**实际行为**:轮播图区域空白
**环境信息**:iPhone 15, iOS 17, Safari
**截图**:[附截图]
text
测试最佳实践
- 测试金字塔:单元测试最多,集成测试适中,E2E测试最少
- 测试覆盖率目标:核心业务逻辑达到80%以上
- 持续运行:每次提交都运行测试,不要等到上线前才测试
- 数据驱动:通过测试报告量化项目质量,而非主观判断
↑